package br.pucrs.lognplay.repository;

import java.io.Serializable;
import java.util.List;

import br.pucrs.lognplay.entity.GenericEntity;

public interface GenericRepository<E extends GenericEntity<?>, I extends Serializable> {

	E merge(E entity) throws RepositoryException;

	void remove(E entity) throws RepositoryException;

	void remove(I id) throws RepositoryException;

	E get(I id) throws RepositoryException;

	List<E> listAll() throws RepositoryException;

	Long size() throws RepositoryException;
}
